package net.dotool;

import java.util.ArrayList;
import java.util.List;

/**
 * @author 李岩飞
 * @email eliyanfei@126.com	
 * 2018年1月15日 上午11:01:26
 * 
 */
public class GisTools {
	/**
	 * 对经纬度进行排序
	 * @param lnglats
	 * @return
	 */
	public static Point sort(String lnglats, boolean cache) {
		final Point point = new Point();
		if (lnglats == null)
			return point;
		String[] gpses = lnglats.split(";");
		for (String onegps : gpses) {
			String[] arr = onegps.split(",");
			if (arr.length == 2) {
				double longitue = NumberTools.toDouble(arr[0]);
				double latitude = NumberTools.toDouble(arr[1]);
				point.set(longitue, latitude);
				if (cache) {
					point.longitudes.add(longitue);
					point.latitudes.add(latitude);
				}
			}
		}
		return point;
	}

	public static class Point {
		public double maxlng = 0;//最大经度
		public double minlng = Double.MAX_VALUE;//最小经度
		public double maxlat = 0;//最大纬度
		public double minlat = Double.MAX_VALUE;//最小纬度
		public List<Double> longitudes = new ArrayList<Double>();
		public List<Double> latitudes = new ArrayList<Double>();

		public void set(double longitue, double latitude) {
			maxlng = Math.max(maxlng, longitue);
			minlng = Math.min(minlng, longitue);
			maxlat = Math.max(maxlat, latitude);
			minlat = Math.min(minlat, latitude);
		}
	}
}
